/*
 * SPDX-FileCopyrightText: 2010-2022 Espressif Systems (Shanghai) CO LTD
 *
 * SPDX-License-Identifier: CC0-1.0
 */

#include <stdio.h>
#include "sdkconfig.h"
#include "esp_chip_info.h"
#include "esp_flash.h"
#include "cs1237.h"

static const char *TAG = "main";

/*定义一个cs1237结构体*/
_cs1237 cs1237_one;

/**
 * @brief cs1237_adc task
 *
 * @param arg
 */
static void cs1237_adc_task(void *arg)
{
    cs1237_one.clk = 1;
    cs1237_one.dio = 2;
    cs1237_config(&cs1237_one, SPEED_40Hz, CH_SEL_A, PGA_1X, REF_OUT_ON); // ±0.5 VREF/PGA  VREF为基准源(1.5-5V) PGA为放大倍数
    ESP_LOGI(TAG, "cs1237 init ok");
    while (1)
    {
        ESP_LOGI(TAG, "cs1237_readResult: %d \r\n", cs1237_read(&cs1237_one));
        vTaskDelay(pdMS_TO_TICKS(200));
    }
}

void app_main(void)
{
    /*cs1237adc data*/
    xTaskCreatePinnedToCore(cs1237_adc_task, "cs1237_adc_task", 1024 * 3, NULL, 5, NULL, 1);
    while (1)
    {
        vTaskDelay(1000 / portTICK_PERIOD_MS); // app_main()也被看作一个任务，所以需要设置任务切换
    }
    // vTaskDelete();//不会执行到此，但如果不加上面的死循环则必须用这个指令删除任务防止内存溢出或程序跑飞
}
